/**
 * 
 */
package guice.action;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * An executable and atomic operation, which typically cannot be interrupted.
 * 
 * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
 * @since 1.0
 * @version $Id$
 */
@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.TYPE })
@Inherited
@Documented
public @interface Action {

	public static final String RESULT_MESSAGES = "Action.resultMessages";

	/**
	 * Name of this action.
	 * 
	 * @return
	 */
	String name();
}
